package com.csw.android.dev_utils.ex

import com.csw.android.dev_utils.utils.GSONUtils
import com.google.gson.JsonElement

/**
 * Json扩展
 */
object JsonEx {

    /**
     * 任意对象转json字符串
     */
    fun Any?.toJsonString() = GSONUtils.toJSONString(this)

    /**
     * 字符串解析json对象
     */
    inline fun <reified T> String.parseJsonObject() = GSONUtils.parseObject(this, T::class.java)

    /**
     * JsonElement解析json对象
     */
    inline fun <reified T> JsonElement.parseJsonObject() =
        GSONUtils.parseObject(this, T::class.java)

    /**
     * 字符串解析成json数组
     */
    inline fun <reified T> String.parseJsonArray() = GSONUtils.parseArray(this, T::class.java)

    /**
     * 字符串解析成字符串数组
     */
    inline fun String.parseStringArray() = GSONUtils.parseStringArray(this)
}